Springboot+Poi实现Excel的导入导出

您所在的位置:网站首页 you're gonna make it翻译 Springboot+Poi实现Excel的导入导出

Springboot+Poi实现Excel的导入导出

#Springboot+Poi实现Excel的导入导出| 来源: 网络整理| 查看: 265

一、poi简介

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

1、HSSF:HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。

2、POI EXCEL文档结构类

HSSFWorkbook excel文档对象HSSFSheet excel的sheet HSSFRow excel的行HSSFCell excel的单元格 HSSFFont excel字体HSSFName 名称 HSSFDataFormat 日期格式HSSFHeader sheet头HSSFFooter sheet尾HSSFCellStyle cell样式HSSFDateUtil 日期HSSFPrintSetup 打印HSSFErrorConstants 错误信息表

3、导入Excel常用的方法:

POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:/test.xls")); HSSFWorkbook wb = new HSSFWorkbook(fs); //得到Excel工作簿对象 HSSFSheet sheet = wb.getSheetAt(0); //得到Excel工作表对象 HSSFRow row = sheet.getRow(i); //得到Excel工作表的行 HSSFCell cell = row.getCell((short) j); //得到Excel工作表指定行的单元格 cellStyle = cell.getCellStyle(); //得到单元格样式

4、导出Excel常用的方法:

HSSFWorkbook wb = new HSSFWorkbook(); //创建Excel工作簿对象 HSSFSheet sheet = wb.createSheet("new sheet"); //创建Excel工作表对象 HSSFRow row = sheet.createRow((short)0); //创建Excel工作表的行 cellStyle = wb.createCellStyle(); //创建单元格样式 row.createCell((short)0).setCellStyle(cellStyle); //创建Excel工作表指定行的单元格 row.createCell((short)0).setCellValue(1); //设置Excel工作表的值 二、springboot整合poi

主要是springboot+myBatis+poi+mysql的简单应用,从数据库查询到结果集导出excel到本地,从本地中的excel文件导入到数据库表中。

1、添加依赖

代码语言:javascript复制 org.apache.poi poi RELEASE org.apache.poi poi-ooxml RELEASE

2、创建一个ExcelUtil类,这里的实现比较简单

代码语言:javascript复制/** * 路径:com.example.demo.utils * 类名: * 功能:导入导出工具类 * 备注: * 创建人:typ * 创建时间:2020/04/19 11:21 * 修改人: * 修改备注: * 修改时间: */ @Slf4j public class ExcelUtil { /** * 方法名:exportExcel * 功能:导出Excel * 描述: * 创建人:typ * 创建时间:2020/04/19 16:00 * 修改人: * 修改描述: * 修改时间: */ public static void exportExcel(HttpServletResponse response, ExcelData data) { log.info("导出解析开始,fileName:{}",data.getFileName()); try { //实例化HSSFWorkbook HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个Excel表单,参数为sheet的名字 HSSFSheet sheet = workbook.createSheet("sheet"); //设置表头 setTitle(workbook, sheet, data.getHead()); //设置单元格并赋值 setData(sheet, data.getData()); //设置浏览器下载 setBrowser(response, workbook, data.getFileName()); log.info("导出解析成功!"); } catch (Exception e) { log.info("导出解析失败!"); e.printStackTrace(); } } /** * 方法名:setTitle * 功能:设置表头 * 描述: * 创建人:typ * 创建时间:2020/04/19 10:20 * 修改人: * 修改描述: * 修改时间: */ private static void setTitle(HSSFWorkbook workbook, HSSFSheet sheet, String[] str) { try { HSSFRow row = sheet.createRow(0); //设置列宽,setColumnWidth的第二个参数要乘以256,这个参数的单位是1/256个字符宽度 for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3